Lab 5 DHT11 Humidity & Temperature Sensor


อุปกรณ์

1.NodeMCU ESP-12E Development Board V2

2.สาย USB-A to Micro-B ตัวผู้ (ควรเป็นสายที่สามารถรับส่งข้อมูลได้)

3.Breadboard

4.สาย jumper ตัวผู้

5.DHT11 Humidity & Temperature Sensor

การต่อวงจร

ขั้นตอนการปฏิบัติ

1.เชื่อมต่อ NodeMCU ESP-12E Development Board V2 เข้ากับคอมพิวเตอร์ของท่านโดยการเสียบสาย USB-A to Micro-B ด้านที่เป็น Micro-B เข้ากับ NodeMCU ESP-12E Development Board V2 และเสียบด้านที่เป็น USB-A เข้ากับ Port USB ของคอมพิวเตอร์

2.1.เปิดโปรแกรม Arduino IDE ขึ้นมา ท่านจำเป็นต้องติดตั้ง Library ของ DHT11 Humidity & Temperature Sensor โดยการไปที่เมนู Sketch ไปที่ Include Library แล้วเลือก Manage Libraries...

2.2.หา Library ของ DHT11 Humidity & Temperature Sensor โดยการพิมพ์ dht11 ในช่อง filter ท่านจะพบ DHT sensor library และ SimpleDHT ให้ท่านทำการติดตั้ง library ทั้ง 2 libraries

3.จากนั้น ท่านจาสามรถพิมพ์หรือคัดลอก source code ข้างล่างไปวางในใน Arduino IDE

#include <DHT.h>
#define DHTPIN D4                 // Digital pin connected to DHT11 GPIO2
#define DHTTYPE DHT11             // DHT 11

DHT dht(DHTPIN, DHTTYPE);         // Initialize DHT sensor

void setup() 
{
  Serial.begin(115200);           // Sets the data rate in bits per second (baud) for serial data transmission.
  dht.begin();
}
void loop()
{
  float h = dht.readHumidity();                        // Read humidity
  float t = dht.readTemperature();                     // Read temperature as Celsius (the default)
  float f = dht.readTemperature(true);                 // Read temperature as Fahrenheit (isFahrenheit = true)

  if (isnan(h) || isnan(t) || isnan(f)) {              // Check if any reads failed and exit early (to try again).
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  float hif = dht.computeHeatIndex(f, h);              // Compute heat index in Fahrenheit (the default)
  float hic = dht.computeHeatIndex(t, h, false);       // Compute heat index in Celsius (isFahreheit = false)

  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.print(" *F\t");
  Serial.print("Heat index: ");
  Serial.print(hic);
  Serial.print(" *C ");
  Serial.print(hif);
  Serial.println(" *F");
}

4.ทำการ verify และ upload source code ไปยัง NodeMCU ESP-12E Development Board V2

ผลลัพธ์

วิธีดูค่าที่ได้จาก DHT11 มีดังนี้

1.คลิ๊กปุ่ม Serial Monitor รูป "แว่นขยาย" ที่อยุ่ตรงมุมบนขวาของ Arduino IDE

2.สิ่งที่ท่านต้องตรวจสอบทุกครั้งคือ baud ท่านต้องเลือก baud ให้ตรงกับค่าที่ท่านตั้งค่าไว้ใน source code (ในที่นี้คือ 115200)

***ถ้าท่านเลือกค่า baud ไม่ตรงกับที่ตั้งค่าไว้ใน source code จะทำให้ serial output แสดงไม่ถูกต้อง

results matching ""

    No results matching ""